/* TypeScript file generated from PipelineType.res by genType. */
/* eslint-disable import/first */

import { elementName, pipelineName } from "./PipelibeBasicType"


// tslint:disable-next-line:interface-over-type-literal
export type link = "merge" | "concat"

// tslint:disable-next-line:interface-over-type-literal
export type elementType = "job" | "group"

// tslint:disable-next-line:interface-over-type-literal
export type element = {
  readonly name: elementName
  readonly type_: elementType
  readonly is_set_state?: boolean
}

// tslint:disable-next-line:interface-over-type-literal
export type groupName = string

// tslint:disable-next-line:interface-over-type-literal
export type group = {
  readonly name: groupName
  readonly link: link
  readonly elements: element[]
}

// tslint:disable-next-line:interface-over-type-literal
export type groups = group[]

// tslint:disable-next-line:interface-over-type-literal

// tslint:disable-next-line:interface-over-type-literal
export type pipelineData = {
  readonly name: pipelineName
  readonly groups: groups
  readonly first_group: groupName
}
